﻿// 程序集，命名空间，只有引用了相应的程序集，才能使用该程序集里面的类、方法...
using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// 命名空间
namespace Test01
{
    // 类
    class Program
    {
        // 程序的主函数，也是程序的入口
        public static void Main(string[] args)
        {
            // Console是System下的一个类，WriteLine是Console类中的方法，“Hello World”是我们传递的参数
            // 本质上就是输出语句，将我们所传进去的内容，打印到控制台上
            //Console.WriteLine("Hello World");
            //Console.WriteLine("大家都很精神");
            //Console.WriteLine("今天是我们正式上课的第一天，我一定要好好学习");
            //Console.WriteLine("今天是我们正式上课的第一天，我一定要好好学习");
            //Console.WriteLine("今天是我们正式上课的第一天，我一定要好好学习");


            // 程序有三种执行结构：顺序结构、分支结构、和循环结构

            /* 注释一整段 VS 注释Ctrl+K,C 解开注释Ctrl+K,U
			 * 
			 * MonoDevelop中都是Ctrl+Alt+C
			 * 
			 * 同时我们可以手动去注释一整段
			 */
            /*需要注释的内容*/


            //声明一些变量
            //bool a = true;  //声明了一个布尔类型的变量，变量名是a，初始值是真
            //float b = 1.0f; //声明了一个float类型的变量，变量名是b，初始值是1.0
            //double c = 2.1; //....
            //char d = 'a';   //char类型的变量d，初始值为a
            //int e = 10;
            //string str = "";    //定义了一个字符串类型，变量名是st，初始值是空

            //定义两个int类型的变量a = 10和b = 15，交换a和b的值
            //int a = 10, b = 15;
            int a = 10;
            int b = 15;
            int c;

            //c = a;
            //a = b;
            //b = c;

            c = a + b;
            a = c - a;
            b = c - a;

            Console.WriteLine(a);
            Console.WriteLine(b);

        }
    }
}

/* C#中的类型 值类型、引用类型
 * 
 * 值类型的基本数据类型
 * 关键字	说明					字节大小		可以表示的范围
 * 
 * *bool		逻辑值（真和假）		1			true和false
 * 
 * sbyte	有符号的8位整数		1			
 * byte		无符号的8为整数		1			0-255
 * short	有符号的16位整数		2
 * ushort	无符号的16位整数		2
 * *int		有符号的32位整数		4
 * uint		无符号的32位整数		4
 * long		有符号的64位整数		8
 * ulong	无符号的64位整数		8
 * 
 * *float	32位单精度浮点数		4
 * *double	64位双精度浮点数		8
 * decimal	128位高精度浮点数		16
 * 
 * *char		16位字符类型			2
 * 
 * 
 * 引用类型
 * string	字符串
 */

/*
常量：程序运行期间值不能改变的量
变量：可以改变的量，表示一个存储的区域，由3部分组成 类型修饰符 变量名 初始值
e.g. int a = 10; int是类型修饰符（用来声明变量的类型），a是变量名，10是初始值
在使用变量之前，必须要对变量进行定义或声明
变量名命名规则：
1、只能由数字、字母、下划线或@组成，数字不能开头，@只能用在开头
2、不能与系统保留字（关键字）同名
3、不能使用重复的变量名，而且C#对大小写敏感，所以注意大小写
4、规范：见名知意，驼峰命名法
123、#snail、@123、@snail、ar$vr、int、12_qingdao、_123、 、
_snail@123、Int

*/

/*
 * 语句：
 * 是程序执行的最小单位，以;结尾
 * 
 */